//
// by Jan Eric Kyprianidis <www.kyprianidis.com>
// Copyright (C) 2010-2012 Computer Graphics Systems Group at the
// Hasso-Plattner-Institut, Potsdam, Germany <www.hpi3d.de>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
#include "shock_alvarez_mazorra.h"
#include "shock_fdog_upwind.h"
#include "shock_osher_rudin.h"
#include "shock_weickert_coh_enh.h"
#include "anisodiff.h"
#include "mcf.h"
#include "tensordiff_coherence_enhancing.h"
#include "tensordiff_edge_enhancing.h"

#if QT_VERSION >= 0x050000

    Q_IMPORT_PLUGIN(ShockFDoGUpwind);
    Q_IMPORT_PLUGIN(WeickertCohEnhShock);
    Q_IMPORT_PLUGIN(OsherRudinShock);
    Q_IMPORT_PLUGIN(AlvarezMazorraShock);
    Q_IMPORT_PLUGIN(AnisoDiff);
    Q_IMPORT_PLUGIN(MCF);
    Q_IMPORT_PLUGIN(EdgeEnhancingDiff);
    Q_IMPORT_PLUGIN(CoherenceEnhancingDiff);

#else

    static const QMetaObject* module_pde[] = {
        &ShockFDoGUpwind::staticMetaObject,
        &WeickertCohEnhShock::staticMetaObject,
        &AnisoDiff::staticMetaObject,
        &OsherRudinShock::staticMetaObject,
        &AlvarezMazorraShock::staticMetaObject,
        &MCF::staticMetaObject,
        &EdgeEnhancingDiff::staticMetaObject,
        &CoherenceEnhancingDiff::staticMetaObject,
        NULL
    };


    Q_EXPORT_PLUGIN2(module_pde, ModulePlugin(module_pde));
    Q_IMPORT_PLUGIN(module_pde)

#endif
